home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / e / cha_source.lha / cha_source / test_cbuffer.e < prev    next >
Encoding:
Text File  |  1999-12-18  |  1.6 KB  |  64 lines

  1. /*==========================================================================+
  2. | test_cbuffer.e                                                            |
  3. | test circular buffer                                                      |
  4. | test passed                                                               |
  5. +--------------------------------------------------------------------------*/
  6.  
  7. MODULE '*cbuffer'
  8.  
  9. /*-------------------------------------------------------------------------*/
  10.  
  11. CONST CBCOUNT=4
  12.  
  13. PROC main() HANDLE
  14. /*
  15.     DEF cb[CBCOUNT] : ARRAY OF LONG, cbuffer : PTR TO cbuffer, i, t
  16.     -> initialise
  17.     FOR i := 0 TO CBCOUNT-1 DO cb[i] := 0
  18.     FOR i := 0 TO CBCOUNT-1
  19.         cbuffer := NIL
  20.         NEW cbuffer.cbuffer(2*i)
  21.         cb[i] := cbuffer
  22.     ENDFOR
  23.     -> check stuff
  24.     FOR t := 1 TO 20
  25.         WriteF('\d[2]: ', t)
  26.         FOR i := 0 TO CBCOUNT-1
  27.             cbuffer := cb[i]
  28.             cbuffer.write(t)
  29.             WriteF('\d[2] ', cbuffer.read(IF t > 10 THEN -i ELSE 0))
  30.         ENDFOR
  31.         WriteF('\n')
  32.         FOR i := 0 TO CBCOUNT-1
  33.             cbuffer := cb[i]
  34.             cbuffer.next()
  35.         ENDFOR
  36.     ENDFOR
  37. */
  38.     DEF i, j, cb = NIL : PTR TO cbuffer, length = 20
  39.     NEW cb.cbuffer(length)
  40.     FOR i := 0 TO length
  41.         WriteF('\n\d[2]: ', i)
  42.         cb.write(i+1)
  43.         FOR j := 0 TO i DO WriteF('\d[2] ', cb.read(j-length))
  44.         cb.next()
  45.     ENDFOR
  46.  
  47. EXCEPT DO
  48.     END cb
  49. /*
  50.     -> cleanup
  51.     FOR i := 0 TO CBCOUNT-1
  52.         cbuffer := cb[i]
  53.         END cbuffer
  54.         cb[i] := NIL
  55.     ENDFOR
  56. */
  57.     WriteF('all ok\n')
  58.     -> report errors
  59. ENDPROC IF exception THEN 5 ELSE 0
  60.  
  61. /*--------------------------------------------------------------------------+
  62. | END: test_cbuffer.e                                                       |
  63. +==========================================================================*/
  64.